下图是包含函数名,以及相应功能,顺序从上往下
编号 | 函数名 | 功能 |
---|---|---|
1 | static int pthreadMutexHeld(sqlite3_mutex *p) | SQLITE_DEBUG模式下,用于assert()里面使用,主要调试查看变量,防止出BUG,前文说过使用互斥量非常谨慎,如此可见一斑 |
2 | static int pthreadMutexNotheld(sqlite3_mutex *p) | SQLITE_DEBUG模式下,用于assert()里面使用,主要调试查看变量,防止出BUG,前文说过使用互斥量非常谨慎,如此可见一斑 |
3 | static int pthreadMutexInit(void) | 初始化互斥锁变量 |
4 | static int pthreadMutexEnd(void) | 离开临界区 |
5 | static sqlite3_mutex *pthreadMutexAlloc(int iType) | 作用是分配6种之一互斥体,并返回指针,如果分配失败,返回相应错误 |
6 | static void pthreadMutexFree(sqlite3_mutex *p) | 销毁分配锁,释放内存 |
7 | static void pthreadMutexEnter(sqlite3_mutex *p) | 请求互斥锁,sqlite3_mutex_enter()导致阻塞,sqlite3_mutex_try()返回SQLITE_BUSY |
8 | static int pthreadMutexTry(sqlite3_mutex *p) | |
9 | static void pthreadMutexLeave(sqlite3_mutex *p) | 解锁互斥锁 |
10 | sqlite3_mutex_methods const *sqlite3DefaultMutex(void) | 返回默认互斥体函数 结构体 |